插入排序是将数据插入到已经排好序的数列中
插入排序流程:
先看动画:
流程如下:
- 初始状态,数组第一位就是一个排好序的数列
- 遍历后面的元素,一一插入到前面已经排好序的队列中
代码示例:
public class Insert {
public static void main(String[] args) {
int[] array = {3, 44, 38, 5, 47, 15, 36};
insertSort(array);
printArray(array);
}
public static void insertSort(int[] array) {
for (int i = 1; i < array.length; i++) {
for (int j = i; array[j] < array[j - 1]; j--) {
int tmp = array[j - 1];
array[j - 1] = array[j];
array[j] = tmp;
}
}
}
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
}